home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / applications / wp / macro28.lha / Macro / FinsGold / TeX / documentstyle.ged (.txt) < prev    next >
Encoding:
LaTeX Document  |  1994-05-25  |  8.9 KB  |  281 lines

  1. /* $VER: documentstyle V 0.6 (25.05.94) Fin Schuppenhauer */
  2. /**   Erzeugt je nach angegebenen Dokumentenstil ein Ger
  3.       Es werden au
  4. erdem  die  Optionen  f
  5. r  \documentstyle
  6.       erfragt  und  der  Seitenstil mit \pagestyle bestimmt.
  7.       Abh
  8. ngig von den gemachten Angaben k
  9. nnen noch weitere
  10.       Abfragen erfolgen.
  11.       Derzeit werden folgende Stile unterst
  12.          article:
  13.                      (Vorgabe) Es werden  die  Optionen  und
  14.                      der  Seitenstil  abgefragt.  Bei Bedarf
  15.                      auch die Angabe f
  16. r die Kopfzeile(n).
  17.          report:     
  18.                      Abfragen wie bei article.
  19.          book:      
  20.                      Wie article. Zus
  21. tzlich wird der Befehl
  22.                      \tableofcontents eingef
  23.          letter:
  24.                      Zu den 
  25. blichen Abfragen wird  au
  26. erdem
  27.                      nach  dem  Empf
  28. nger,  der  Anrede  und
  29.                      Gru
  30. formel  gefragt.   Ein   Teil   der
  31.                      Angaben   (z.B.   die  Absenderadresse)
  32.                      werden unten vordefiniert.
  33.          dletter:
  34.                      Eine  private  Abwandlung  von  letter.
  35.                      Abfragen wie bei letter. Die Stiloption
  36.                      dletter wird nicht mitgeliefert.
  37.       Meine Anschrift:
  38.       Fin Schuppenhauer
  39.       Brau
  40. park 10
  41.       20537 Hamburg
  42.       (Germany)
  43.       E-Mail: schuppenhauer@rzdspc2.informatik.uni-hamburg.de
  44.         oder: 1schuppe@rzdspc2.informatik.uni-hamburg.de
  45. OPTIONS RESULTS                             /* enable return codes     */
  46. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  47.     address 'GOLDED.1'
  48. 'LOCK CURRENT'                              /* lock GUI, gain access   */
  49. OPTIONS FAILAT 6                            /* ignore warnings         */
  50. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  51. /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
  52. /** F
  53. r die Verwendung der Stiloptionen letter bzw. dletter erwartet
  54.  ** dieses Skript hier ihre Anpasungen f
  55. r die LaTeX-Komandos \address
  56.  ** und \signature.
  57.  ** z.B.:
  58. ADRESSE = 'Fin Schuppenhauer\\Brau"spark 10\\20537 Hamburg'
  59. TELEPHONE = '(040) 219 46 51'
  60. SIGNATURE = 'Fin Schuppenhauer'
  61. ANREDE = 'Sehr geehrte'
  62. REGARDS = 'Mit freundlichen Gr"u"sen'
  63. 'QUERY CAT'
  64. german = (result = "deutsch")
  65. PARSE ARG STYLE
  66. if length(STYLE) = 0 then do
  67.    /* Nach dem Seitenstil (Vorgegeben: article) fragen: */
  68.    if german then
  69.       'REQUEST TITLE="Dokumentstil bestimmen" BODY="Bitte geben Sie den gew
  70. nschten Seitenstil an:" OLD="article" STRING VAR STYLE'
  71.    else
  72.       'REQUEST TITLE="Set documentstyle" BODY="Please specify your disered document style:" OLD="article" STRING VAR STYLE'
  73. if rc = 0 then do
  74.    /** Wenn der vorherige Requester nicht abgebrochen wurde, f
  75.     ** wir je nach verwendetem Stil weitere LaTeX-Befehle ein und
  76.     ** fragen noch nach dem Seitenstil:
  77.     **/
  78.    select
  79.       when STYLE="article" then do
  80.          error = 0
  81.          call SetOptions
  82.          'DOWN'
  83.          'INSERT LINE'
  84.          'TEXT STAY T="\documentstyle'OPT'{article}"'
  85.          call SetPagestyle
  86.          'DOWN'
  87.          'INSERT LINE'
  88.          'TEXT STAY T="\begin{document}"'
  89.          end
  90.       when STYLE="report" then do
  91.          error = 0
  92.          call SetOptions
  93.          'DOWN'
  94.          'INSERT LINE'
  95.          'TEXT STAY T="\documentstyle'OPT'{report}"'
  96.          call SetPagestyle
  97.          'DOWN'
  98.          'INSERT LINE'
  99.          'TEXT STAY T="\begin{document}"'
  100.          end
  101.       when STYLE="book" then do
  102.          error = 0
  103.          call SetOptions
  104.          'DOWN'
  105.          'INSERT LINE'
  106.          'TEXT STAY T="\documentstyle'OPT'{book}"'
  107.          OPT = insert('twoside', OPT, 1)
  108.          call SetPagestyle
  109.          'DOWN'
  110.          'INSERT LINE'
  111.          'TEXT STAY T="\begin{document}"'
  112.          'DOWN'
  113.          'INSERT LINE'
  114.          'TEXT STAY T="   \tableofcontents"'
  115.          end
  116.       when (STYLE="letter") | (STYLE="dletter") then do
  117.          error = 0
  118.          call SetOptions
  119.          'DOWN'
  120.          'INSERT LINE'
  121.          'TEXT STAY T="\documentstyle'OPT'{'STYLE'}"'
  122.          call SetPagestyle
  123.          'FIX VAR ADRESSE'
  124.          'DOWN'
  125.          'INSERT LINE'
  126.          'TEXT STAY T="\address{'ADRESSE'}"'
  127.          'DOWN'
  128.          'INSERT LINE'
  129.          'TEXT STAY T="\telephone{'TELEPHONE'}"'
  130.          'FIX VAR SIGNATURE'
  131.          'DOWN'
  132.          'INSERT LINE'
  133.          'TEXT STAY T="\signature{'SIGNATURE'}"'
  134.          'DOWN'
  135.          'INSERT LINE'
  136.          if STYLE="letter" then do
  137.             'TEXT STAY T="%\makelables"'
  138.             end
  139.          else do
  140.             'TEXT STAY T="%\zeichen{ihrs}{unser}"'
  141.          end
  142.          'DOWN'
  143.          'INSERT LINE'
  144.          'TEXT STAY T="\begin{document}"'
  145.          call SetAddressee
  146.          end
  147.       otherwise do
  148.          error = 1
  149.       end
  150.    end
  151.    if error = 0 then do
  152.       'DOWN'
  153.       'INSERT LINE'
  154.       'TEXT STAY T="\end{document}"'
  155.       if (pos('letter', STYLE) = 0) & (pos('dletter', STYLE) = 0) then do
  156.          'INSERT LINE'
  157.          'TAB'
  158.          end
  159.       else do
  160.          'UP'
  161.          'UP'
  162.          'UP'
  163.          'UP'
  164.          'UP'
  165.          'TEXT T="         "'
  166.       end
  167.    end
  168. /* ---------------------------- END OF YOUR CODE --------------------- */
  169. 'UNLOCK' /* VERY important: unlock GUI */
  170. SYNTAX:
  171. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  172. 'UNLOCK'
  173. SetOptions:
  174.    /** Fragt nach den Optionen f
  175. r \documentstyle.
  176.     ** Nur wenn welche angegeben werden, werden diese auch
  177.     ** eingef
  178.     **/
  179.    if german then
  180.       'REQUEST TITLE="Dokument-Optionen bestimmen" BODY="Bitte geben Sie die gew
  181. nschten Optionen an:" OLD="german,a4" STRING VAR OPT'
  182.    else
  183.       'REQUEST TITLE="Set document options" BODY="Please specify your desired options:" STRING VAR OPT'
  184.    if (rc = 0) & (length(OPT) > 0) then
  185.       OPT = '[' || OPT || ']'
  186.    RETURN
  187. SetPagestyle:
  188.    /** Fragt nach dem Seitenstil nach und ggf. nach den Texten f
  189.     ** die Kopfzeile.
  190.     **/
  191.    if german then
  192.       'REQUEST TITLE="Seitenstil bestimmen" BODY="Bitte bestimmen Sie den Seitenstil:" OLD="plain" STRING VAR PAGESTYLE'
  193.    else
  194.       'REQUEST TITLE="Set pagestyle" BODY="Please specify the pagestyle:" OLD="plain" STRING VAR PAGESTYLE'
  195.    if (rc = 0) & (length(PAGESTYLE) > 0) then do
  196.       /** Ok, ein bestimmter Seitenstil ist gew
  197. nscht. **/
  198.       'DOWN'
  199.       'INSERT LINE'
  200.       'TEXT STAY T="\pagestyle{'PAGESTYLE'}"'
  201.       /** Wenn der Autor eigene Kopfzeilen-Texte haben m
  202. chte, wird er
  203.        ** die Option myheadings angegeben haben und wir fragen ihn
  204.        ** jetzt nach dem Text daf
  205.        **/
  206.       if pos('myheadings', PAGESTYLE) ~= 0 then do
  207.          if german then
  208.             'REQUEST TITLE="Rechte Kopfzeile" BODY="Geben Sie den Text f
  209. r die rechte Kopfzeile ein:" STRING VAR RHEAD'
  210.          else
  211.             'REQUEST TITLE="Right heading" BODY="Enter text for right heading:" STRING VAR RHEAD'
  212.          if pos('twoside', OPT) ~= 0 then do
  213.             /** Der zu erstellende Text wird zweiseitig sein, d.h. es
  214.              ** gibt zus
  215. tzlich noch eine linke Kopfzeile:
  216.              **/
  217.             headings = 2
  218.             if german then
  219.                'REQUEST TITLE="Linke Kopfzeile" BODY="Geben Sie den Text f
  220. r die linke Kopfzeile ein:" OLD="'RHEAD'" STRING VAR LHEAD'
  221.             else
  222.                'REQUEST TITLE="Left heading" BODY="Enter text for the left heading:" OLD="'RHEAD'" STRING VAR LHEAD'
  223.             'DOWN'
  224.             'INSERT LINE'
  225.             'TEXT STAY T="\markboth{'RHEAD'}{'LHEAD'}"'
  226.          end
  227.          else do
  228.             'DOWN'
  229.             'INSERT LINE'
  230.             'TEXT STAY T="\markright{'RHEAD'}"'
  231.          end
  232.       end
  233.    end
  234.    RETURN
  235. SetAddressee:
  236.    /** Wird von (d)letter aufgerufen und fragt nach der Empf
  237. nger-
  238.     ** adresse, der Anrede und Gru
  239. formel.
  240.     **/
  241.    if german then
  242.       'REQUEST TITLE="Empf
  243. nger" BODY="Bitte Empf
  244. ngeradresse eingeben (LaTeX-Stil):" STRING VAR ADDRESSEE'
  245.    else
  246.       'REQUEST TITLE="Adressee" BODY="Please enter addressee''s address (LaTeX like):" STRING VAR ADDRESSEE'
  247.    'FIX VAR ADDRESSEE'
  248.    'DOWN'
  249.    'INSERT LINE'
  250.    'TEXT STAY T="   \begin{letter}{'ADDRESSEE'}"'
  251.    if german then
  252.       'REQUEST TITLE="Anrede bestimmen" BODY="Bitte Anrede-Text eingeben:" OLD="'ANREDE'" STRING VAR ANREDE'
  253.    else
  254.       'REQUEST TITLE="Set address" BODY="Please enter address:" OLD="'ANREDE'" STRING VAR ANREDE'
  255.    'DOWN'
  256.    'INSERT LINE'
  257.    'TEXT STAY T="      \opening{'ANREDE'}"'
  258.    'DOWN'
  259.    'INSERT LINE'
  260.    'FIX VAR REGARDS'
  261.    if german then
  262.       'REQUEST TITLE="Gru
  263. formel bestimmen" BODY="Bitte Gru
  264. formel eingeben:" OLD="'REGARDS'" STRING VAR REGARDS'
  265.    else
  266.       'REQUEST TITLE="Set regards" BODY="Please enter your regards:" OLD="'REGARDS'" STRING VAR REGARDS'
  267.    'FIX VAR REGARDS'
  268.    'DOWN'
  269.    'INSERT LINE'
  270.    'TEXT STAY T="      \closing{'REGARDS'}"'
  271.    'DOWN'
  272.    'INSERT LINE'
  273.    'TEXT STAY T="%     \cc{}"'
  274.    'DOWN'
  275.    'INSERT LINE'
  276.    'TEXT STAY T="%     \encl{}"'
  277.    'DOWN'
  278.    'INSERT LINE'
  279.    'TEXT STAY T="   \end{letter}"'
  280.    RETURN
  281.